import {Data} from "@/utils/http";
import {ListQueryParams} from "@/api/common/types";

export interface LoginFormType extends Data{
    account: string
    password: string
}

export interface UserType{
    id: number;
    /**
     * 账号
     */
    account: string;
    /**
     * 头像
     */
    avatar: string;
    /**
     * 创建时间
     */
    created_at: string;
    /**
     * 是否禁用
     */
    is_disabled: boolean;
    /**
     * 姓名
     */
    name: string;
    /**
     * 角色id
     */
    role: number;
}

export interface UserQueryParams extends ListQueryParams{
    /**
     * 账号
     */
    account?: string;
    /**
     * 姓名
     */
    name?: string;
}

/**
 * 禁用账户
 */
export interface UserDisableForm {
    disable: boolean;
    /**
     * ID 编号
     */
    id: number;
}

/**
 * 修改密码
 */
export interface ChangePwdForm {
    /**
     * 新密码
     */
    new_password: string;
    /**
     * 旧密码
     */
    old_password: string;
    /**
     * 确认密码
     */
    req_password: string;
    [property: string]: any;
}

/**
 * 创建用户
 */
export interface CreateUserForm {
    /**
     * 账号
     */
    account: string;
    /**
     * 头像
     */
    avatar?: string;
    /**
     * 是否禁用
     */
    is_disabled: boolean;
    /**
     * 姓名
     */
    name: string;
    /**
     * 密码
     */
    password: string;
    /**
     * 角色id
     */
    role: number;
    [property: string]: any;
}

/**
 * 编辑用户
 */
export interface UserEditForm {
    /**
     * 头像
     */
    avatar?: string;
    /**
     * 姓名
     */
    name?: string;
    /**
     * 角色id
     */
    role?: number;
    [property: string]: any;
}


/**
 * 管理员修改用户信息
 */
export interface UserEditAdminForm {
    /**
     * 头像
     */
    avatar?: string;
    id: number;
    /**
     * 姓名
     */
    name?: string;
    /**
     * 密码
     */
    password?: string;
    /**
     * 角色id
     */
    role?: number;
    account?: string
}